#ifndef UC_BRBFTRAV_H
#define UC_BRBFTRAV_H 1

#include "zadesk.h"
#include "zrxobject.h"
#include "zrxboiler.h"
#include "ucbrgbl.h"
#include "ucbrtrav.h"


// forward class declarations
class UcBrBrep;
class UcBrFace;


class DllImpExp UcBrBrepFaceTraverser : public UcBrTraverser
{
public:
    UCRX_DECLARE_MEMBERS(UcBrBrepFaceTraverser);
    UcBrBrepFaceTraverser();
    UcBrBrepFaceTraverser(const UcBrBrepFaceTraverser& src);
    ~UcBrBrepFaceTraverser();

    // Assignment operator
    UcBrBrepFaceTraverser& operator =   (const UcBrBrepFaceTraverser& src);

    // Queries & Initialisers
    UcBr::ErrorStatus   setBrep         (UcBrBrep& brep);
    UcBr::ErrorStatus   getBrep         (UcBrBrep& brep) const;
    UcBr::ErrorStatus   setFace         (UcBrFace& face);
    UcBr::ErrorStatus   getFace         (UcBrFace& face) const;
    UcBr::ErrorStatus   setBrepAndFace  (const UcBrFace& face);
    UcBr::ErrorStatus   setBrep         (const UcBrBrep& brep);
    UcBr::ErrorStatus   setFace         (const UcBrFace& face);
};


#endif

